import os


#复习昨天题
#1.将 I am a student.  顺序进行逆转 变为student. a am I

def reverseWord(x:str):
    #切分
    tokens = x.split(' ')
    #逆转
    tokens.reverse()
    #重组成字符串
    return ' '.join(tokens)

#开始调用
ptr = reverseWord('I am a student.')
print(ptr)


#2.旋转字符串(没必要复习)
#题目：给定一个字符串abcde，如果多次旋转之后还能得到abcde，那么就返回True

def rotateString(s,goal):
    if len(s)!=len(goal):
        return False
    return goal in (s+s)

print(rotateString('abcde','cdeab'))
print(rotateString('abcde','edcba'))


#3.统计字符串前缀
#注意在python中，有自带的一个方法，用于检查字符串是否是以指定前缀开头
#是a.startswith(b)a代表的是规定的字符串，b代表的是列表中符合规定字符串的前缀的那个字符，下面有举例

#这里得注意一点，就是在列表中，每一部分称之为是一个元素，这每一个元素可以是一个字符，也可以是字符串！！
def countPrefixes(words:list,s:str):
    count=0
    for word in words:
        if s.startswith(word):#这里非常重要!!!!你这样记：helloworld.startswith(hello)
            count+=1
    return count

print(countPrefixes(['a','b','c','ab','bc','ac','abc'],'abc'))


#4.文件搜索工具
#如果是有很多文件，如果去查找其中一个文件就非常不容易
#所以这里会用到文件搜索工具
#这里使用到了一个标准库里面非常关键的一个函数叫 os.walk，模块叫os
#其中的os代表操作系统，整个os.walk是用来遍历的
#首先是上面先声明os这个模块

inputPath = input('请输入要搜索的路径:')
pattern = input('请输入要搜索的关键字:')

#解释：下面的三个分别表示：
#dirpath   遍历到当前位置的对应路径是啥
#dirnames  当前目录下都有哪些目录
#filenames  当前目录下都有哪些文件名
for  dirpath,dirnames,filenames  in os.walk(inputPath):
    #下面这几行代码只是为了帮助同学们来进行理解，所以注释
    # print('----------------------------------')
    # print(f'dirpath={dirpath}')
    # print('dirnames:')
    # for name in dirnames:
    #     print(name)
    # print('filenames:')
    # for name in filenames:
    #     print(name)
#下面开始，检查 当前的文件名里是否包含了pattern,包含了就打印出来
    for f in filenames:
        if pattern in f:#如果包含，下面就打印出来
            print(f'{dirpath}/{f}')

#所以即使目录结构很复杂，也很容易搜索出来



#5.  pip的使用
#打开控制台是win+r  然后敲 cmd 就能打开控制台

#解释：你把python想象成一个大工厂，在这个大工厂干活需要各种各样的工具，pip就像工厂里负责采购工具的采购专员，
#比如你如果想做数据分析，就需要pandas这样的工具。如果想画图就需要matplotlib这样的工具。
#而pip就负责帮你从软件市场pypi中下载你所需要的工具/软件包，安装到你的python工厂里
#这里面的软件包是全球各地的开发者开发的，然后放到这个pypi市场里面，供其他有需要的人去下载安装的
#通过pip帮助自己在pypi的这个市场里把自己需要的工具下载到python环境里，就可以借助这些工具实现不同功能


#那么 可以使用右边命令来安装第三方库/软件包 是 pip install[库名]，这里的库名就是你要
# 安装的那个软件包的名字。第三方库又叫做软件包！！！


#使用python生成二维码
#二维码本质上就是一段字符串，我们可以把任意字符串制作为一个二维码图片
#但是生活中使用的二维码，更多的是一个URL(网址)，通过扫描二维码，打开网址

#那么如果我们想生成二维码，让它保存我们想要存的信息，该怎么做呢？
#首先明确一点：标准库里面并没有能够操作二维码的功能，所以只能借助第3方库(即软件包)
#那就得靠我们使用搜索引擎了
#打开bing网站，搜索使用python生成二维码，就会出现pip install qrcode
#那么同时会有很多别人写的代码示例，但是老师建议不要复制粘贴使用，因为别人写的代码示例在你的电脑上不一定适用
#他写的代码可能是比较老的版本，在你这个新版本中可能跑不起来，所以不一定靠谱
#靠谱的办法是去pypi的官方网站上来，打开官方网站的域名是 pypi.org，然后qrcode,然后回车
#出来以后点击第一个，出来的解释和代码都是最权威的，最官方的，我是可以直接使用的。那么你点击进来后，先
#打开控制台win+r(然后点击cmd),然后把点击进来后的  " pip install[库名] "这一部分的内容复制粘贴
#先在控制台输入pip，然后再输入你复制的内容，回车，就安装好了(这个第三方库就安装好了)
#然后根据qrcode点进来的官网给你所写的代码，复制粘贴
#import qrcode
#img = qrcode.make('Some data here')
#type(img)  # qrcode.image.pil.PilImage
#img.save("some_file.png")
#上面这部分就是官网给的代码，分别解释一下
#首先第1行，引入模块
#然后第2行，qrcode里面有个make方法，括号里填的是你想要放进来的字符串
#第3行，打印对象的类型
#第4行，可以把图片存到一个硬盘上
#其实第3行不是很重要，可以不写!!!重要的是第4行

#重新建立一个文件写






import qrcode  #注意如果这里你没有提前安装好，那这里你在写qrcode的时候，就会报错

# img = qrcode.make('小美很漂亮!')#把他的结果返回到img变量里
# img.save('qrcode.png')#然后把这个结果进行保存，括号里写一个文件名用来保存这个含有结果的变量这里的括号
# 里如果写的是路径或者文件名，那么就会相应的出现在那里






































